<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Robot Framework</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Robot_Framework"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Robot_Framework rootpage-Robot_Framework skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Robot Framework</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right infobox toccolours toptextcells" style="border-spacing:5px; font-size:90%; text-align:left; width:21em;">
<tbody><tr>
<th colspan="2" class="hintergrundfarbe6" style="font-size:105%; text-align:center;">Robot Framework
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td colspan="2" class="notheme" style="text-align:center; background-color:#f8f9fa;"><span typeof="mw:File"></span>
</td></tr>
<tr>
<th colspan="2" class="hintergrundfarbe5" style="font-size:105%; text-align:center;">Basisdaten
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td><b><a href="Maintainer" title="Maintainer">Hauptentwickler</a></b>
</td>
<td>Pekka Klärck, Janne Harkonen et al.
</td></tr>
<tr>
<td><b>Erscheinungsjahr</b>
</td>
<td><span class="wikidata-content">24. Juni 2008<sup id="cite_ref-_2ad2cdd125990d1b_1-0" class="reference"><a href="#cite_note-_2ad2cdd125990d1b-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></span>
</td></tr>
<tr>
<td><b>Aktuelle <a href="Version_(Software)" title="Version (Software)">Version</a></b>
</td>
<td><span class="wikidata-content">7.4<sup id="cite_ref-_3cc4dfdbc625c798_2-0" class="reference"><a href="#cite_note-_3cc4dfdbc625c798-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></span> <br> (<span class="wikidata-content">12. Dezember 2025</span>)
</td></tr>
<tr>
<td><b><a href="Betriebssystem" title="Betriebssystem">Betriebssystem</a></b>
</td>
<td><a href="Plattform%C3%BCbergreifend" class="mw-redirect" title="Plattformübergreifend">Plattformübergreifend</a>
</td></tr>
<tr>
<td><b><a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a></b>
</td>
<td><a href="Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a>
</td></tr>
<tr>
<td><b>Kategorie</b>
</td>
<td><a href="Softwaretest" title="Softwaretest">Test</a>-<a href="Framework" title="Framework">Framework</a>
</td></tr>
<tr>
<td><b>Lizenz</b>
</td>
<td><a href="Apache-Lizenz" title="Apache-Lizenz">Apache-Lizenz</a> 2.0
</td></tr>
<tr>
<td class="hintergrundfarbe5" colspan="2" style="text-align:center;"><a rel="nofollow" class="external text" href="http://www.robotframework.org/">robotframework.org</a>
</td></tr></tbody></table>
<p><b>Robot Framework</b> ist ein generisches <a href="Open_Source" title="Open Source">Open-Source</a>-Automatisierungs-<a href="Framework" title="Framework">Framework</a>, das sowohl für <a href="Testautomatisierung" title="Testautomatisierung">Testautomatisierung</a> als auch für <a href="Robotic_Process_Automation" title="Robotic Process Automation">Robotic Process Automation</a> genutzt werden kann<sup id="cite_ref-Homepage_3-0" class="reference"><a href="#cite_note-Homepage-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>.
</p><p>Robot Framework ist eines der bekanntesten Frameworks<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> für <a href="Keyword-Driven_Testing" title="Keyword-Driven Testing">Keyword-Driven Testing</a>, unterstützt aber auch <a href="Behavior_Driven_Development" title="Behavior Driven Development">Behavior Driven Development</a> mittels Gherkin Notation (Angenommen/Wenn/Dann).
</p><p>Es setzt dabei auf eine einfache <a href="Prozedurale_Programmierung" title="Prozedurale Programmierung">prozedurale</a> <a href="Skriptsprache" title="Skriptsprache">Skriptsprache</a>, die darauf ausgelegt ist, möglichst einfach menschenlesbar und erlernbar zu sein. Die Robot-Framework-Skriptsprache wird über Erweiterungen<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> von vielen <a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">IDEs</a> und <a href="Editor_(Software)" title="Editor (Software)">Texteditoren</a> unterstützt, um beispielsweise <a href="Syntaxhervorhebung" title="Syntaxhervorhebung">Syntaxhervorhebung</a>, <a href="Debugger" title="Debugger">Debugging</a>, <a href="Refactoring" title="Refactoring">Refactoring</a> und <a href="Autovervollst%C3%A4ndigung" title="Autovervollständigung">Autovervollständigung</a> zu ermöglichen.
</p><p>Robot Framework ist in <a href="Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a> implementiert und kann mit beliebigen Bibliotheken zu Steuerung des Testobjektes oder der zu automatisierenden Software erweitert werden. Mehrere hundert Bibliotheken wurden von der Open-Source-Gemeinschaft zur freien Verwendung veröffentlicht.<sup id="cite_ref-:0_6-0" class="reference"><a href="#cite_note-:0-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>Die Weiterentwicklung des Frameworks wird von der Robot Framework Foundation<sup id="cite_ref-:1_7-0" class="reference"><a href="#cite_note-:1-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> finanziert, die auch Rechteinhaber der Wortmarke Robot Framework<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> ist.
</p>
<div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2></div>
<p>Die grundlegende Idee zum Robot Framework wurde 2004 entwickelt und 2006 in der <a href="Masterarbeit" title="Masterarbeit">Masterarbeit</a> von Pekka Klärck (damals Pekka Laukkanen)<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> veröffentlicht. Im Jahr 2005 wurde mit der Entwicklung einer ersten Version bei <a href="Nokia_Siemens_Networks" class="mw-redirect" title="Nokia Siemens Networks">Nokia Siemens Networks</a> (heute <a href="Nokia_Solutions_and_Networks" class="mw-redirect" title="Nokia Solutions and Networks">Nokia Solutions and Networks</a>) begonnen. Aufgrund der wachsenden Verbreitung des Frameworks bei Nokia entstand im Entwicklungsteam um Robot Framework, das aus Pekka Klärck und weiteren externen Mitarbeitern bestand, die Idee, Robot Framework unter einer Open-Source-Lizenz zu veröffentlichen.<sup id="cite_ref-:2_11-0" class="reference"><a href="#cite_note-:2-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p><p>Die Version 2.0 wurde am 24. Juni 2008 als <a href="Open_Source" title="Open Source">Open Source</a> unter der <a href="Apache-Lizenz" title="Apache-Lizenz">Apache-Lizenz</a> 2.0 veröffentlicht.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p>
<p>Seit der Veröffentlichung wuchs die Anzahl der Nutzer außerhalb von Nokia hauptsächlich im finnischen Markt.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> Mit der Reduktion der finanziellen Mittel durch Nokia und aufgrund der in Helsinki verbreiteten Nutzung von Robot Framework gründeten 7 Firmen im Juni 2015 den eingetragenen Verein <i>Robot Framework ry</i>,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> der hauptsächlich unter dem Namen <i>Robot Framework Foundation</i> bekannt ist, um die Weiterentwicklung von Robot Framework durch Pekka Klärck finanzieren zu können.
</p><p>Im Januar 2018 fand die erste, seitdem jährlich stattfindende, Robot Framework Konferenz <i>RoboCon</i><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> in Helsinki (ausgenommen 2021) statt. Seit der <a href="COVID-19-Pandemie" title="COVID-19-Pandemie">COVID-19-Pandemie</a> gibt es auch eine Online RoboCon, die 2021 das erste Mal organisiert wurde. Alle Vorträge aller RoboCon Konferenzen sind online frei verfügbar.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</p><p>Seit 2018 sind nicht nur die weltweite Verbreitung von Robot Framework, sondern auch die Mitgliederzahl und somit die finanziellen Mittel der Robot Framework Foundation stark gestiegen.<sup id="cite_ref-:1_7-1" class="reference"><a href="#cite_note-:1-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p>Robot Framework konnte somit seit 2018 (Version 3.0) stark weiterentwickelt werden und die Verbreitung des Frameworks hat international stark zugenommen. Mit über 1,8 Millionen Downloads pro Monat zählt Robot Framework zu den 1 % als kritisch eingestuften Projekten auf PyPI.org<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Syntax">Syntax</h2></div>
<p>Robot-Framework-Testspezifikation ist in Dateien und Ordnerstrukturen organisiert. Die standardmäßige Dateiendung ist <code>*.robot</code> und eine .robot-Datei bildet eine Test-Suite, die mehrere Testfälle enthalten kann. Jeder Ordner, der direkt oder indirekt eine oder mehrere .robot-Dateien enthält, ist wiederum eine Test-Suite.
</p><p>Da Robot Framework selbst in <a href="Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a> implementiert ist, finden sich auch viele Konzepte aus Python wieder. So werden beispielsweise ähnlich wie bei einem Block in Python einzelnen Keyword-Aufrufe eines Testfalls in Robot Framework durch Einrückung mit mehreren Leerzeichen spezifiziert.
</p><p>Die Syntax von Robot Framework ist optimiert auf Lesbarkeit und einfache Erlernbarkeit. Sie basiert meist auf einem durch mehrere <a href="Leerzeichen" title="Leerzeichen">Leerzeichen</a> getrennten Format oder seltener anzutreffen auf einer Trennung der Anweisungen mittels <a href="Senkrechter_Strich" title="Senkrechter Strich">senkrechtem Strich</a>.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> Das bedeutet, dass Keyword-Aufrufe und deren Argumente nicht wie beispielsweise in Python durch Klammern und Kommata getrennt werden wie hier <code>login_user("User1", "123456")</code> sondern durch zwei oder mehr Leerzeichen wie hier <code>Login User User1 123456</code> . Somit sind einfache Leerzeichen valide Zeichen innerhalb eines Keywords oder Wertes.
</p><p>Des Weiteren sind alle Argumente standardmäßig <a href="Zeichenkette" title="Zeichenkette">Zeichenketten</a> (Stings) und müssen nicht wie sonst üblich mit <a href="Anf%C3%BChrungszeichen" title="Anführungszeichen">Anführungszeichen</a> begrenzt werden. Durch diese Bevorzugung von Zeichenketten müssen im Gegensatz dazu <a href="Variable_(Programmierung)" title="Variable (Programmierung)">Variablen</a> sonderbehandelt werden und mit Dollar und geschweiften Klammern geschrieben werden. (bsp. <code>${my_variable}</code>)
</p><p>Der Code ist in Sektionen aufgeteilt, die mit <code>*** Sektionsname ***</code> definiert werden. Erlaubte Sektionen sind u. a. <code>Settings</code>, <code>Variables</code>, <code>Test Cases</code> und <code>Keywords</code>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Beispiel_(test.robot)"><span id="Beispiel_.28test.robot.29"></span>Beispiel (test.robot)</h3></div>
<p>In dem folgenden Beispiel sind zwei Testfälle zu sehen, die jeweils vier Keywords aufrufen, die aus der Resource <code>keywords.resource</code> importiert wurden.
</p><p>Das Keyword <code>Login User</code> hat in diesem Beispiel zwei Argumente, <i><code>login</code></i> und <i><code>password</code>, welche mit der Variablen <code>${user}</code> und dem Wert <code>1234567890</code></i> besetzt werden.
</p>
<div class="mw-highlight mw-highlight-lang-robotframework mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="gh">*** Settings ***</span>
<span class="linenos" data-line="2"></span><span class="kn">Documentation</span><span class="p"> </span><span class="s">A test suite for valid login.</span>
<span class="linenos" data-line="3"></span><span class="p">...</span>
<span class="linenos" data-line="4"></span><span class="p">... </span><span class="s">Keywords are imported from the resource file</span>
<span class="linenos" data-line="5"></span><span class="kn">Resource</span><span class="p"> </span><span class="nn">keywords.resource</span>
<span class="linenos" data-line="6"></span><span class="kn">Default Tags</span><span class="p"> </span><span class="s">positive</span>
<span class="linenos" data-line="7"></span>
<span class="linenos" data-line="8"></span><span class="gh">*** Variables ***</span>
<span class="linenos" data-line="9"></span><span class="p">${</span><span class="nv">user</span><span class="p">} </span><span class="s">max0815</span>
<span class="linenos" data-line="10"></span>
<span class="linenos" data-line="11"></span><span class="gh">*** Test Cases ***</span>
<span class="linenos" data-line="12"></span><span class="gu">Login User with Password</span>
<span class="linenos" data-line="13"></span><span class="p"> </span><span class="nf">Connect To Server</span>
<span class="linenos" data-line="14"></span><span class="p"> </span><span class="nf">Login User</span><span class="p"> ${</span><span class="nv">user</span><span class="p">} </span><span class="s">1234567890</span>
<span class="linenos" data-line="15"></span><span class="p"> </span><span class="nf">Verify Valid Login</span><span class="p"> </span><span class="s">Max Mustermann</span>
<span class="linenos" data-line="16"></span><span class="p"> [</span><span class="kn">Teardown</span><span class="p">] </span><span class="nf">Close Server Connection</span>
<span class="linenos" data-line="17"></span>
<span class="linenos" data-line="18"></span><span class="gu">Denied Login with Wrong Password</span>
<span class="linenos" data-line="19"></span><span class="p"> [</span><span class="kn">Tags</span><span class="p">] </span><span class="s">negative</span>
<span class="linenos" data-line="20"></span><span class="p"> </span><span class="nf">Connect To Server</span>
<span class="linenos" data-line="21"></span><span class="p"> </span><span class="nf">Run Keyword And Expect Error</span><span class="p"> </span><span class="s">*Invalid Password</span><span class="p"> </span><span class="s">Login User</span><span class="p"> ${</span><span class="nv">user</span><span class="p">} </span><span class="s">123</span>
<span class="linenos" data-line="22"></span><span class="p"> </span><span class="nf">Verify Unauthorised Access</span>
<span class="linenos" data-line="23"></span><span class="p"> [</span><span class="kn">Teardown</span><span class="p">] </span><span class="nf">Close Server Connection</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Keyword_Beispiel_(keywords.resource)"><span id="Keyword_Beispiel_.28keywords.resource.29"></span>Keyword Beispiel (keywords.resource)</h3></div>
<p>In Robot Framework können eigene zusammengesetzte Keywords erstellt werden, ohne in eine andere Programmiersprache wechseln zu müssen. Diese zusammengesetzten Keywords können entweder in eigenen <i>Resource-Dateien</i> oder in der Test-Suite selbst abgelegt werden.
</p><p>Im folgenden Beispiel werden zwei Keywords definiert: <code>Login User</code> und <code>Verify Valid Login</code>.
</p>
<div class="mw-highlight mw-highlight-lang-robotframework mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="gh">*** Settings ***</span>
<span class="linenos" data-line="2"></span><span class="kn">Library</span><span class="p"> </span><span class="nn">MyServerAPI</span>
<span class="linenos" data-line="3"></span>
<span class="linenos" data-line="4"></span>
<span class="linenos" data-line="5"></span><span class="gh">*** Keywords ***</span>
<span class="linenos" data-line="6"></span><span class="gu">Login User</span>
<span class="linenos" data-line="7"></span><span class="p"> [</span><span class="kn">Arguments</span><span class="p">] ${</span><span class="nv">login</span><span class="p">} ${</span><span class="nv">password</span><span class="p">}</span>
<span class="linenos" data-line="8"></span><span class="p"> </span><span class="nf">Set Login Name</span><span class="p"> ${</span><span class="nv">login</span><span class="p">}</span>
<span class="linenos" data-line="9"></span><span class="p"> </span><span class="nf">Set Password</span><span class="p"> ${</span><span class="nv">password</span><span class="p">}</span>
<span class="linenos" data-line="10"></span><span class="p"> </span><span class="nf">Execute Login</span>
<span class="linenos" data-line="11"></span>
<span class="linenos" data-line="12"></span><span class="gu">Verify Valid Login</span>
<span class="linenos" data-line="13"></span><span class="p"> [</span><span class="kn">Arguments</span><span class="p">] ${</span><span class="nv">exp_full_name</span><span class="p">}</span>
<span class="linenos" data-line="14"></span><span class="p"> ${</span><span class="nv">version</span><span class="p">}= </span><span class="nf">Get Server Version</span>
<span class="linenos" data-line="15"></span><span class="p"> </span><span class="nf">Should Not Be Empty</span><span class="p"> ${</span><span class="nv">version</span><span class="p">}</span>
<span class="linenos" data-line="16"></span><span class="p"> ${</span><span class="nv">name</span><span class="p">}= </span><span class="nf">Get User Name</span>
<span class="linenos" data-line="17"></span><span class="p"> </span><span class="nf">Should Be Equal</span><span class="p"> ${</span><span class="nv">name</span><span class="p">} ${</span><span class="nv">exp_full_name</span><span class="p">}</span>
</pre></div>
<p>Der hier zu sehende Programmcode würde in Python, wie folgt aussehen:
</p>
<div class="mw-highlight mw-highlight-lang-python3 mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="kn">from</span><span class="w"> </span><span class="nn">MyServerAPI</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
<span class="linenos" data-line="2"></span>
<span class="linenos" data-line="3"></span>
<span class="linenos" data-line="4"></span><span class="k">def</span><span class="w"> </span><span class="nf">login_user</span><span class="p">(</span><span class="n">login</span><span class="p">,</span> <span class="n">password</span><span class="p">):</span>
<span class="linenos" data-line="5"></span> <span class="n">set_login_name</span><span class="p">(</span><span class="n">login</span><span class="p">,</span> <span class="n">password</span><span class="p">)</span>
<span class="linenos" data-line="6"></span> <span class="n">set_password</span><span class="p">(</span><span class="n">password</span><span class="p">)</span>
<span class="linenos" data-line="7"></span> <span class="n">execute_login</span><span class="p">()</span>
<span class="linenos" data-line="8"></span>
<span class="linenos" data-line="9"></span>
<span class="linenos" data-line="10"></span><span class="k">def</span><span class="w"> </span><span class="nf">verify_valid_login</span><span class="p">(</span><span class="n">exp_full_name</span><span class="p">):</span>
<span class="linenos" data-line="11"></span> <span class="n">version</span> <span class="o">=</span> <span class="n">get_server_version</span><span class="p">()</span>
<span class="linenos" data-line="12"></span> <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">version</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span>
<span class="linenos" data-line="13"></span> <span class="n">name</span> <span class="o">=</span> <span class="n">get_user_name</span><span class="p">()</span>
<span class="linenos" data-line="14"></span> <span class="k">assert</span> <span class="n">name</span> <span class="o">==</span> <span class="n">exp_full_name</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Gherkin_Notation_(Behavior_Driven)"><span id="Gherkin_Notation_.28Behavior_Driven.29"></span>Gherkin Notation (Behavior Driven)</h3></div>
<p>Robot Framework kann neben der hauptsächlich in der Community verwendeten Keyword-Driven Testing-Methode auch Tests in Gherkin Notation verstehen. Diese Notation wird hauptsächlich zum Zwecke des <a href="Behavior_Driven_Development" title="Behavior Driven Development">Behavior Driven Development</a> verwendet.
</p>
<div class="mw-highlight mw-highlight-lang-robotframework mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="gh">*** Settings ***</span>
<span class="linenos" data-line="2"></span><span class="kn">Documentation</span><span class="p"> </span><span class="s">Feature: Login shall only be granted for authenticated users.</span>
<span class="linenos" data-line="3"></span><span class="kn">Resource</span><span class="p"> </span><span class="nn">keywords.resource</span>
<span class="linenos" data-line="4"></span><span class="kn">Test Teardown</span><span class="p"> </span><span class="nf">Close Server Connection</span>
<span class="linenos" data-line="5"></span>
<span class="linenos" data-line="6"></span><span class="gh">*** Test Cases ***</span>
<span class="linenos" data-line="7"></span><span class="gu">Login User with valid Password</span>
<span class="linenos" data-line="8"></span><span class="p"> </span><span class="ge">Given </span><span class="nf">the server is connected</span>
<span class="linenos" data-line="9"></span><span class="p"> </span><span class="ge">When </span><span class="nf">the user "max0815" with the password "1234567890" is logged in</span>
<span class="linenos" data-line="10"></span><span class="p"> </span><span class="ge">Then </span><span class="nf">the user "Max Mustermann" should be logged in</span>
<span class="linenos" data-line="11"></span>
<span class="linenos" data-line="12"></span><span class="gh">*** Keywords ***</span>
<span class="linenos" data-line="13"></span><span class="gu">the server is connected</span>
<span class="linenos" data-line="14"></span><span class="p"> </span><span class="nf">Connect To Server</span>
<span class="linenos" data-line="15"></span>
<span class="linenos" data-line="16"></span><span class="gu">the user "</span><span class="p">${</span><span class="nv">login</span><span class="p">}</span><span class="gu">" with the password "</span><span class="p">${</span><span class="nv">pwd</span><span class="p">}</span><span class="gu">" is logged in</span>
<span class="linenos" data-line="17"></span><span class="p"> </span><span class="nf">Login User</span><span class="p"> ${</span><span class="nv">login</span><span class="p">} ${</span><span class="nv">pwd</span><span class="p">}</span>
<span class="linenos" data-line="18"></span>
<span class="linenos" data-line="19"></span><span class="gu">the user "</span><span class="p">${</span><span class="nv">full_name</span><span class="p">}</span><span class="gu">" should be logged in</span>
<span class="linenos" data-line="20"></span><span class="p"> </span><span class="nf">Verify Valid Login</span><span class="p"> ${</span><span class="nv">full_name</span><span class="p">}</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Übersetzungen"><span id=".C3.9Cbersetzungen"></span>Übersetzungen</h3></div>
<p>Aufgrund des hohen internationalen Interesses and vor allem der starken Verbreitung von Robot Framework auf dem deutschen Markt<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> wurde mit Version 6.0<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> Unterstützung für weitere Sprachen neben Englisch eingebaut.
</p><p>
Derzeit sind die folgenden Sprachen unterstützt:<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> </p><blockquote><p>Bulgarian (bg), Bosnian (bs), Czech (cs), <b>German (de)</b>, Spanish (es), Finnish (fi), French (fr), Hindi (hi), Italian (it), Dutch (nl), Polish (pl), Portuguese (pt), Brazilian Portuguese (pt-BR), Romanian (ro), Russian (ru), Swedish (sv), Thai (th), Turkish (tr), Ukrainian (uk), Chinese Simplified (zh-CN), Chinese Traditional (zh-TW)</p></blockquote><p>Das vorherige Gherkin-Beispiel würde dann so aussehen:
</p><div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>language:de
*** Einstellungen ***
Dokumentation Feature: Login soll nur für authentifizierte Benutzer erlaubt sein.
Ressource keywords.resource
Testnachbereitung Close Server Connection
*** Testfälle ***
Anmelden eines Benutzers mit validen Benutzerdaten
Angenommen der Server ist verbunden
Wenn der Benutzer "max0815" sich mit dem Passwort "1234567890" anmeldet
Dann soll der Benutzer "Max Mustermann" angemeldet sein
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Erweiterungen">Erweiterungen</h2></div>
<p>Für Robot Framework stehen hunderte Bibliotheken zur Verfügung<sup id="cite_ref-:0_6-1" class="reference"><a href="#cite_note-:0-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>, beispielsweise die <a href="Selenium" title="Selenium">Selenium</a> basierte <i>SeleniumLibrary</i> oder die Playwright-basierte Browser-Bibliothek zum Testen von <a href="Webanwendungen" class="mw-redirect" title="Webanwendungen">Webanwendungen</a>.
</p><p>Bibliotheken können nativ in <a href="Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a> implementiert werden. Hierbei ist die einfachste mögliche Bibliothek ein Python-Modul oder eine Python-Klasse und alle Funktionen in dem Modul oder der Klasse bilden die Keywords für Robot Framework:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">TestObject</span><span class="w"> </span><span class="kn">import</span> <span class="n">TestObject</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">robot.api.logger</span><span class="w"> </span><span class="kn">import</span> <span class="n">info</span><span class="p">,</span> <span class="n">debug</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">console</span>
<span class="k">class</span><span class="w"> </span><span class="nc">MyServerAPI</span><span class="p">:</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="o">=</span> <span class="kc">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">login</span> <span class="o">=</span> <span class="s1">''</span>
<span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="s1">''</span>
<span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="p">:</span> <span class="n">TestObject</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">def</span><span class="w"> </span><span class="nf">connect</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ip</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="n">TestObject</span><span class="p">(</span><span class="n">ip</span><span class="p">)</span>
<span class="k">def</span><span class="w"> </span><span class="nf">disconnect</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">def</span><span class="w"> </span><span class="nf">set_login_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">login</span><span class="p">):</span>
<span class="w"> </span><span class="sd">'''Sets the users login name and stores it for authentication.'''</span>
<span class="bp">self</span><span class="o">.</span><span class="n">login</span> <span class="o">=</span> <span class="n">login</span>
<span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">'User login set to: </span><span class="si">{</span><span class="n">login</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
<span class="k">def</span><span class="w"> </span><span class="nf">set_password</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">password</span><span class="p">):</span>
<span class="w"> </span><span class="sd">'''Sets the users login name and stores it for authentication.'''</span>
<span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="n">password</span>
<span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Password set.'</span><span class="p">)</span>
<span class="k">def</span><span class="w"> </span><span class="nf">execute_login</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">'''Triggers the authentication process at the backend and stores the session token.'''</span>
<span class="bp">self</span><span class="o">.</span><span class="n">session</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">authenticate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">login</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">:</span>
<span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">'User session successfully set.'</span><span class="p">)</span>
<span class="n">debug</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Session token is: </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">login</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">password</span> <span class="o">=</span> <span class="s1">''</span>
<span class="k">def</span><span class="w"> </span><span class="nf">get_username</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">user_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="w"> </span><span class="sd">'''Returns the users full name of the given user_id or if None the own user data.'''</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_user_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">,</span> <span class="n">user_id</span><span class="p">)</span>
<span class="k">def</span><span class="w"> </span><span class="nf">get_server_version</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">connection</span><span class="o">.</span><span class="n">get_version</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">)</span>
</pre></div>
<p>Auch andere Programmiersprachen sind möglich, wenn sie einen RemoteServer auf Basis des sogenannten RemoteInterface<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> implementieren. Der RemoteServer stellt mittels <a href="XML-RPC" title="XML-RPC">XML-RPC</a> die Keywords zur Verfügung, damit in Testfällen auch Bibliotheken verwendet werden können, die zum Beispiel in <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> implementiert sind.
</p><p>Während der Robocon 2020 wurde die sogenannte MarketSquare-Organisation auf <a href="GitHub" title="GitHub">Github</a> gegründet, unter der Bibliotheken der Community gesammelt und gemeinsam weiter entwickelt werden können<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Finanzierung_und_Organisation">Finanzierung und Organisation</h2></div>
<p>Rechteinhaber von Robot Framework ist heute die 2015 gegründete Robot Framework Foundation (<i>Robot Framework ry</i>), ein eingetragener Verein mit Sitz in Helsinki. Diese hat den Zweck, Robot Framework und dessen Community weiterzuentwickeln.
</p><p>
Zitat aus der Vereinssatzung (übersetzt aus dem Englischen, Stand Dezember 2023):</p><blockquote><p>2. Zweck und Form der Aktivitäten
</p><p>Zweck des Vereins ist, die Nutzung des Open-Source-Tools Robot Framework zu fördern und die Wartung und Weiterentwicklung des Tools zu ermöglichen und zu finanzieren. Der Verein hält das Tool für jeden im Internet frei verfügbar. Der Verein stellt sicher, dass das Robot Framework jetzt und in Zukunft für Testautomatisierung und Robotic Process Automation verwendet werden kann.
</p><p>Darüber hinaus ist es das Ziel des Vereins, die Community der Anwender zu unterstützen und Wissen über Testautomatisierung und robotische Prozessautomatisierung und deren Entwicklung mit Robot Framework zu verbreiten.
</p><p>
Um den Einsatz des Tools zu fördern, ermöglicht und finanziert der Verein die Kernentwicklung und Wartung sowie Anwender- und Ökosystemprojekte. Darüber hinaus sind Community-Veranstaltungen und die Pflege und Unterstützung der Community-Plattformen sowie die Pflege der Dokumentation Arten der Aktivitäten.</p></blockquote><p>2018 wurde der Verein für internationale Mitglieder geöffnet und ist seitdem stark gewachsen.
</p><p>Als finanzielle Quellen dienen einerseits die Mitgliedsbeiträge der (Stand Dezember 2023) 65 Mitgliedsfirmen sowie die jährliche <i>RoboCon.</i> Aus den Mitteln wird hauptsächlich die Weiterentwicklung des Robot Framework Kerns finanziert sowie die Plattformen, wie Forum und Webseite und die Verwaltung des Vereins.
</p><p>Der Vorstand des Vereins wird jährlich gebildet und besteht in den Jahren 2023 und 2024 aus acht Mitgliedern aus Finnland, Deutschland und Tschechien.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>
</p><p>Mit dieser Organisationsform ist Robot Framework eine Ausnahme unter den Open-Source-Test-Frameworks. Wesentlich häufiger anzutreffen sind Organisationsformen, bei denen kommerzielle Firmen im Besitz der Open-Source-Software und deren Namen und Infrastruktur sind (zum Beispiel<a href="Cucumber_(Software)" title="Cucumber (Software)">Cucumber</a>, das im Besitz von SmartBear ist) oder die Projekte werden von unabhängigen Organisationen, wie beispielsweise der <a href="Software_Freedom_Conservancy" title="Software Freedom Conservancy">Software Freedom Conservancy</a> finanziell unterstützt oder müssen selbstständig auf Sponsorensuche gehen.
</p><p>Der Vorteil des eigenen Vereins ist die demokratische Organisation und Vergabe der Gelder, die aufgrund rechtlich bindender Formulierung der Vereinssatzung ausschließlich im Interesse des Frameworks stattfinden kann. Es ist durch diese Organisationsform praktisch ausgeschlossen, dass aufgrund finanzieller Interessen Einzelner die Weiterentwicklung eingestellt oder die freie Verfügbarkeit in der Zukunft eingeschränkt wird. Negativbeispiele, wo durch Firmenentscheidungen, die Weiterentwicklung von verbreiteten Frameworks komplett in die Verantwortung privater Entwickler oder der Community gegeben wurden, sind u. a. Gauge<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> und Cucumber.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="RPA">RPA</h2></div>
<p>Zwar wurde Robot Framework ursprünglich dazu entwickelt, die Abläufe bei manuellem Testen zu automatisieren, jedoch eignet sich das Framework auch zu <a href="Robotic_Process_Automation" title="Robotic Process Automation">Robotergesteuerter Prozessautomatisierung (RPA)</a>. Dazu wurde der Sprachgebrauch mit der Version 3.1<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> um sogenannte <i>Tasks</i> erweitert. Technisch verhalten sich Tasks wie Testfälle:
</p>
<div class="mw-highlight mw-highlight-lang-robotframework mw-content-ltr" dir="ltr"><pre><span></span><span class="gh">*** Settings ***</span>
<span class="kn">Library</span><span class="p"> </span><span class="nn">SeleniumLibrary</span>
<span class="kn">Task Teardown</span><span class="p"> </span><span class="nf">Close Browser</span>
<span class="gh">*** Tasks ***</span>
<span class="gu">Suche 'Robot Framework' mit Google</span>
<span class="p"> </span><span class="nf">Open Browser</span><span class="p"> </span><span class="s">https://www.google.de</span><span class="p"> </span><span class="s">headlesschrome</span>
<span class="p"> </span><span class="nf">Input Text</span><span class="p"> </span><span class="s">lst-ib</span><span class="p"> </span><span class="s">Robot Framework</span>
<span class="p"> </span><span class="nf">Click Button</span><span class="p"> </span><span class="s">Google-Suche</span>
<span class="p"> </span><span class="nf">Capture Screenshot</span>
</pre></div>
<p>Durch die nahe Verwandtschaft von RPA und Testautomatisierung gelingt es Teams, die bereits Robot Framework einsetzen, verhältnismäßig leicht RPA zu betreiben, indem sie auf ihrer bestehenden Infrastruktur aufbauen.<sup id="cite_ref-:3_29-0" class="reference"><a href="#cite_note-:3-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<p>Robot Framework wird im Kontext des Keyword-Driven Testing in mehreren Veröffentlichungen erwähnt oder behandelt.
</p>
<div class="mw-heading mw-heading3"><h3 id="Buch_Keyword-Driven_Testing">Buch Keyword-Driven Testing</h3></div>
<p>René Rohner und Matthias Daigl behandeln Robot Framework umfangreich<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> in dem Buch <i>Keyword-Driven Testing / Grundlage für effiziente Testspezifikation und Automatisierung.</i><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>
</p><p>Im <i>Openbook zu Keyword-Driven Testing Frameworks</i><sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> werden die Kriterien der ISO 29119-5 auf Robot Framework und eine Auswahl von Erweiterungen angewendet. Robot Framework erfüllt dabei bis auf sehr wenige Ausnahmen, bsp. <i>Manual Testing</i>, die Kriterien.
</p>
<div class="mw-heading mw-heading3"><h3 id="Wissenschaftliche_Arbeiten">Wissenschaftliche Arbeiten</h3></div>
<p>Robot Framework wird mehrfach in wissenschaftlichen Arbeiten behandelt.
</p><p>Beispiele:
</p>
<ul><li><a rel="nofollow" class="external text" href="https://www.researchgate.net/publication/372765701_Comparative_Study_of_Robot_Framework_and_Cucumber_as_BDD_Automated_Testing_Tools/fulltext/64c6fc06545060019e3edac8/Comparative-Study-of-Robot-Framework-and-Cucumber-as-BDD-Automated-Testing-Tools.pdf">Comparative Study of Robot Framework and Cucumber as BDD Automated Testing Tools</a></li>
<li><a rel="nofollow" class="external text" href="https://www.ijsdr.org/papers/IJSDR1811080.pdf">Robot Framework, A boon for Automation</a></li>
<li><a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/abstract/document/9559826">Low Cost Automated OS Security Audit Platform Using Robot Framework</a></li>
<li><a rel="nofollow" class="external text" href="https://ntrs.nasa.gov/citations/20160006113">Spaceport Command and Control System</a></li>
<li><a rel="nofollow" class="external text" href="https://www.theseus.fi/bitstream/handle/10024/752521/Thesis_Alatalo_Tatu.pdf?sequence=2">Static code analysis in Robot Framework</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Blogs_und_andere_Beiträge"><span id="Blogs_und_andere_Beitr.C3.A4ge"></span>Blogs und andere Beiträge</h3></div>
<ul><li>André Rist, Markus Stahl (Deutsche Post Adress): <i>Qualität komplexer Systeme mit Open-Source-Tools verifizieren.</i><sup id="cite_ref-:3_29-1" class="reference"><a href="#cite_note-:3-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup></li>
<li>Dmytro Borysov: <i>Robot Framework vs Pytest.</i><sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup></li>
<li>Lisa Crispin: <i>Team Commitment to Quality</i><sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Heise_online" title="Heise online">Heise Online</a>: <i>Automatisierte Tests mit dem Robot-Framework</i><sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup></li>
<li>Christian Müller (Noser Engineering): <i>Einfache Testautomatisierung mit Robot Framework</i><sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup></li>
<li>Joe Colantonio: <i>Robot Framework Creator Pekka Klärck [PODCAST]</i><sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup></li>
<li>Paul Laihonen (Eficode): ROBOT FRAMEWORK: PAST, PRESENT AND FUTURE<sup id="cite_ref-:2_11-1" class="reference"><a href="#cite_note-:2-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup></li>
<li>Katri Ordning (KONE): ROBOT FRAMEWORK AT KONE<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://robotframework.org">robotframework.org</a></li>
<li><a rel="nofollow" class="external text" href="https://github.com/robotframework/robotframework">Projekt auf GitHub</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-_2ad2cdd125990d1b-1"><span class="mw-cite-backlink"><a href="#cite_ref-_2ad2cdd125990d1b_1-0">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://code.google.com/p/robotframework/downloads/list"><cite style="font-style:italic">code.google.com</cite>.</a> (abgerufen am 3. Dezember 2013).</span>
</li>
<li id="cite_note-_3cc4dfdbc625c798-2"><span class="mw-cite-backlink"><a href="#cite_ref-_3cc4dfdbc625c798_2-0">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/robotframework/robotframework/releases/tag/v7.4"><cite style="font-style:italic"><span lang="en">Release 7.4</span></cite>.</a> 12. Dezember 2025 (abgerufen am 13. Dezember 2025).</span>
</li>
<li id="cite_note-Homepage-3"><span class="mw-cite-backlink"><a href="#cite_ref-Homepage_3-0">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.robotframework.org/">Robot Framework Homepage</a> (englisch)</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><span class="cite">heise online: <a rel="nofollow" class="external text" href="https://www.heise.de/ratgeber/Keyword-Driven-Testing-jenseits-des-Hypes-Eine-kritische-Bestandsaufnahme-2819884.html"><i>Keyword-Driven Testing jenseits des Hypes: Eine kritische Bestandsaufnahme.</i></a> 18. September 2015,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Keyword-Driven+Testing+jenseits+des+Hypes%3A+Eine+kritische+Bestandsaufnahme&rft.description=Keyword-Driven+Testing+jenseits+des+Hypes%3A+Eine+kritische+Bestandsaufnahme&rft.identifier=https%3A%2F%2Fwww.heise.de%2Fratgeber%2FKeyword-Driven-Testing-jenseits-des-Hypes-Eine-kritische-Bestandsaufnahme-2819884.html&rft.creator=heise+online&rft.date=2015-09-18&rft.language=de"> </span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://robotframework.org/?tab=tools#resources"><i>Robot Framework Tools.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+Tools&rft.description=Robot+Framework+Tools&rft.identifier=https%3A%2F%2Frobotframework.org%2F%3Ftab%3Dtools%23resources&rft.language=en"> </span></span>
</li>
<li id="cite_note-:0-6"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-:0_6-0">a</a></sup> <sup><a href="#cite_ref-:0_6-1">b</a></sup></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://pypi.org/search/?q=robotframework-&o=&c=Framework+::+Robot+Framework"><i>Robot Framework Libraries on PyPi.org.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+Libraries+on+PyPi.org&rft.description=Robot+Framework+Libraries+on+PyPi.org&rft.identifier=https%3A%2F%2Fpypi.org%2Fsearch%2F%3Fq%3Drobotframework-%26o%3D%26c%3DFramework%2B%253A%253A%2BRobot%2BFramework&rft.language=en"> </span></span>
</li>
<li id="cite_note-:1-7"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-:1_7-0">a</a></sup> <sup><a href="#cite_ref-:1_7-1">b</a></sup></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://robotframework.org/foundation/"><i>Robot Framework Foundation.</i></a> 12. April 2016,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+Foundation&rft.description=Robot+Framework+Foundation&rft.identifier=https%3A%2F%2Frobotframework.org%2Ffoundation%2F&rft.date=2016-04-12&rft.language=en"> </span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://euipo.europa.eu/eSearch/#details/trademarks/018168378"><i>EU Wortmarke - Robot Framework.</i></a> European Union Intellectual Property Office, 29. Mai 2020,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=EU+Wortmarke+-+Robot+Framework&rft.description=EU+Wortmarke+-+Robot+Framework&rft.identifier=https%3A%2F%2Feuipo.europa.eu%2FeSearch%2F%23details%2Ftrademarks%2F018168378&rft.publisher=European+Union+Intellectual+Property+Office&rft.date=2020-05-29&rft.language=en"> </span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://tsdr.uspto.gov/#caseNumber=88932637&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch"><i>US Trademark - Robot Framework.</i></a> United States Patent and Trademark Office (USPTO), 15. Juni 2021,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=US+Trademark+-+Robot+Framework&rft.description=US+Trademark+-+Robot+Framework&rft.identifier=https%3A%2F%2Ftsdr.uspto.gov%2F%23caseNumber%3D88932637%26caseSearchType%3DUS_APPLICATION%26caseType%3DDEFAULT%26searchType%3DstatusSearch&rft.publisher=United+States+Patent+and+Trademark+Office+%28USPTO%29&rft.date=2021-06-15&rft.language=en"> </span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://eliga.fi/writings.html">Laukkanen, Pekka: „Data-Driven and Keyword-Driven Test Automation Frameworks“, 2006</a></span>
</li>
<li id="cite_note-:2-11"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-:2_11-0">a</a></sup> <sup><a href="#cite_ref-:2_11-1">b</a></sup></span> <span class="reference-text"><span class="cite">Eficode: <a rel="nofollow" class="external text" href="https://www.eficode.com/blog/en/blog/robot-framework"><i>Robot Framework: Past, Present and Future.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework%3A+Past%2C+Present+and+Future&rft.description=Robot+Framework%3A+Past%2C+Present+and+Future&rft.identifier=https%3A%2F%2Fwww.eficode.com%2Fblog%2Fen%2Fblog%2Frobot-framework&rft.creator=Eficode"> </span></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://code.google.com/archive/p/robotframework/downloads"><i>Google Code Archive of Robot Framework.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Google+Code+Archive+of+Robot+Framework&rft.description=Google+Code+Archive+of+Robot+Framework&rft.identifier=https%3A%2F%2Fcode.google.com%2Farchive%2Fp%2Frobotframework%2Fdownloads&rft.language=en"> </span></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://pypi.org/project/robotframework/#history"><i>Robot Framework Versionen auf PyPI.org.</i></a> 26. Juni 2008,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+Versionen+auf+PyPI.org&rft.description=Robot+Framework+Versionen+auf+PyPI.org&rft.identifier=https%3A%2F%2Fpypi.org%2Fproject%2Frobotframework%2F%23history&rft.date=2008-06-26&rft.language=en"> </span></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.copado.com/resources/blog/what-is-robot-framework-the-story-behind-a-robotic-testing-ecosystem-crt"><i>What is Robot Framework? The Story Behind a Robotic Testing Ecosystem.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=What+is+Robot+Framework%3F+The+Story+Behind+a+Robotic+Testing+Ecosystem&rft.description=What+is+Robot+Framework%3F+The+Story+Behind+a+Robotic+Testing+Ecosystem&rft.identifier=https%3A%2F%2Fwww.copado.com%2Fresources%2Fblog%2Fwhat-is-robot-framework-the-story-behind-a-robotic-testing-ecosystem-crt"> </span></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://yhdistysrekisteri.prh.fi/notificationInformation?recordNumber=2015/511935Y"><i>Vereinsanmeldung Robot Framework ry.</i></a> Patentti- ja rekisterihallitus (Patent- und Registrierungsamt, Finnland), 17. Juli 2015,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (finnisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Vereinsanmeldung+Robot+Framework+ry&rft.description=Vereinsanmeldung+Robot+Framework+ry&rft.identifier=https%3A%2F%2Fyhdistysrekisteri.prh.fi%2FnotificationInformation%3FrecordNumber%3D2015%2F511935Y&rft.publisher=Patentti-+ja+rekisterihallitus+%28Patent-+und+Registrierungsamt%2C+Finnland%29&rft.date=2015-07-17&rft.language=fi"> </span></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://robocon.io/"><i>Robocon.</i></a> Robot Framework Foundation,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robocon&rft.description=Robocon&rft.identifier=https%3A%2F%2Frobocon.io%2F&rft.publisher=Robot+Framework+Foundation&rft.date=&rft.language=en"> </span></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.youtube.com/c/RobotFrameworkChannel"><i>Robot Framework - YouTube.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+-+YouTube&rft.description=Robot+Framework+-+YouTube&rft.identifier=https%3A%2F%2Fwww.youtube.com%2Fc%2FRobotFrameworkChannel"> </span></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://pypi.org/security-key-giveaway/"><i>PyPI 2FA Security Key Giveaway.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=PyPI+2FA+Security+Key+Giveaway&rft.description=PyPI+2FA+Security+Key+Giveaway&rft.identifier=https%3A%2F%2Fpypi.org%2Fsecurity-key-giveaway%2F&rft.language=de"> </span></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-data-syntax"><i>Robot Framework User Guide.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+User+Guide&rft.description=Robot+Framework+User+Guide&rft.identifier=https%3A%2F%2Frobotframework.org%2Frobotframework%2Flatest%2FRobotFrameworkUserGuide.html%23test-data-syntax"> </span></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=jlhgitypC5Q"><i>RoboCon 2022 - 1.01 Keynote: Robot Framework.</i></a><span class="Abrufdatum"> Abgerufen am 13. Dezember 2023</span> (deutsch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=RoboCon+2022+-+1.01+Keynote%3A+Robot+Framework&rft.description=RoboCon+2022+-+1.01+Keynote%3A+Robot+Framework&rft.identifier=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DjlhgitypC5Q&rft.language=de-DE"> </span></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-6.0.rst"><i>robotframework/doc/releasenotes/rf-6.0.rst at master · robotframework/robotframework.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=robotframework%2Fdoc%2Freleasenotes%2Frf-6.0.rst+at+master+%C2%B7+robotframework%2Frobotframework&rft.description=robotframework%2Fdoc%2Freleasenotes%2Frf-6.0.rst+at+master+%C2%B7+robotframework%2Frobotframework&rft.identifier=https%3A%2F%2Fgithub.com%2Frobotframework%2Frobotframework%2Fblob%2Fmaster%2Fdoc%2Freleasenotes%2Frf-6.0.rst&rft.language=en"> </span></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><a href="#cite_ref-22">↑</a></span> <span class="reference-text"><span class="cite">Pekka Klärck: <a rel="nofollow" class="external text" href="https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-6.0.rst#localization"><i>Localization in RF 6.0.</i></a> 8. Januar 2023,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Localization+in+RF+6.0&rft.description=Localization+in+RF+6.0&rft.identifier=https%3A%2F%2Fgithub.com%2Frobotframework%2Frobotframework%2Fblob%2Fmaster%2Fdoc%2Freleasenotes%2Frf-6.0.rst%23localization&rft.creator=Pekka+Kl%C3%A4rck&rft.date=2023-01-08&rft.language=en"> </span></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><a href="#cite_ref-23">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://github.com/robotframework/RemoteInterface"><i>RemoteInterface.</i></a> In: <i>Github.</i><span class="Abrufdatum"> Abgerufen am 16. Juni 2020</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=RemoteInterface&rft.description=RemoteInterface&rft.identifier=https%3A%2F%2Fgithub.com%2Frobotframework%2FRemoteInterface&rft.date=&rft.language=en"> </span></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><a href="#cite_ref-24">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://github.com/MarketSquare"><i>Robot Framework Community's shared code repositories.</i></a> In: <i>Github.</i><span class="Abrufdatum"> Abgerufen am 16. Juni 2020</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+Community%27s+shared+code+repositories&rft.description=Robot+Framework+Community%27s+shared+code+repositories&rft.identifier=https%3A%2F%2Fgithub.com%2FMarketSquare&rft.date=&rft.language=en"> </span></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><a href="#cite_ref-25">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://362604.seu2.cleverreach.com/m/14922691"><i>Your Robot Framework News November 2023!</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Your+Robot+Framework+News+November+2023%21&rft.description=Your+Robot+Framework+News+November+2023%21&rft.identifier=https%3A%2F%2F362604.seu2.cleverreach.com%2Fm%2F14922691"> </span></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><a href="#cite_ref-26">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://github.com/getgauge/gauge/issues/1732"><i>Gauge and Taiko in 2021 · Issue #1732 · getgauge/gauge.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Gauge+and+Taiko+in+2021+%C2%B7+Issue+%231732+%C2%B7+getgauge%2Fgauge&rft.description=Gauge+and+Taiko+in+2021+%C2%B7+Issue+%231732+%C2%B7+getgauge%2Fgauge&rft.identifier=https%3A%2F%2Fgithub.com%2Fgetgauge%2Fgauge%2Fissues%2F1732&rft.language=en"> </span></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><a href="#cite_ref-27">↑</a></span> <span class="reference-text"><span class="cite">Matt Wynne: <a rel="nofollow" class="external text" href="https://mattwynne.net/new-beginning"><i>Every ending is a new beginning.</i></a> 23. Februar 2023,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Every+ending+is+a+new+beginning&rft.description=Every+ending+is+a+new+beginning&rft.identifier=https%3A%2F%2Fmattwynne.net%2Fnew-beginning&rft.creator=Matt+Wynne&rft.date=2023-02-23&rft.language=en"> </span></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><a href="#cite_ref-28">↑</a></span> <span class="reference-text"><span class="cite">Pekka Klärck: <a rel="nofollow" class="external text" href="https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-3.1.rst"><i>Robot Framework 3.1 - Release Notes.</i></a><span class="Abrufdatum"> Abgerufen am 16. Juni 2020</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+3.1+-+Release+Notes&rft.description=Robot+Framework+3.1+-+Release+Notes&rft.identifier=https%3A%2F%2Fgithub.com%2Frobotframework%2Frobotframework%2Fblob%2Fmaster%2Fdoc%2Freleasenotes%2Frf-3.1.rst&rft.creator=Pekka+Kl%C3%A4rck&rft.date=&rft.language=en"> </span></span>
</li>
<li id="cite_note-:3-29"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-:3_29-0">a</a></sup> <sup><a href="#cite_ref-:3_29-1">b</a></sup></span> <span class="reference-text"><span class="cite">André Rist, Markus Stahl: <a rel="nofollow" class="external text" href="https://webreader.objektspektrum.de/de/profiles/7d30f3fc5f62-objektspektrum/editions/german-testing-magazin-01-2019/pages/page/11"><i>Qualität komplexer Systeme mit Open-Source-Tools verifizieren.</i></a> In: <i>German Testing Magazin.</i> SIGS DATACOM GmbH, Mai 2019, <span style="white-space:nowrap;">S. 20–23</span>,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Qualit%C3%A4t+komplexer+Systeme+mit+Open-Source-Tools+verifizieren.&rft.description=Qualit%C3%A4t+komplexer+Systeme+mit+Open-Source-Tools+verifizieren.&rft.identifier=https%3A%2F%2Fwebreader.objektspektrum.de%2Fde%2Fprofiles%2F7d30f3fc5f62-objektspektrum%2Feditions%2Fgerman-testing-magazin-01-2019%2Fpages%2Fpage%2F11&rft.creator=Andr%C3%A9+Rist%2C+Markus+Stahl&rft.publisher=SIGS+DATACOM+GmbH&rft.date=2019-05&rft.language=de"> </span></span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><a href="#cite_ref-30">↑</a></span> <span class="reference-text">René Rohner, Matthias Daigl: <cite style="font-style:italic">Keyword-Driven Testing</cite>. dpunkt.verlag, ISBN 978-3-86490-570-4, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>145–206</span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Robot+Framework&rft.au=Ren%C3%A9+Rohner%2C+Matthias+Daigl&rft.btitle=Keyword-Driven+Testing&rft.genre=book&rft.isbn=9783864905704&rft.pages=145-206&rft.pub=dpunkt.verlag" style="display:none"> </span></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><a href="#cite_ref-31">↑</a></span> <span class="reference-text"><cite style="font-style:italic">René Rohner, Matthias Daigl</cite>. dpunkt.verlag, 2022, ISBN 978-3-86490-570-4.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Robot+Framework&rft.btitle=Ren%C3%A9+Rohner%2C+Matthias+Daigl&rft.date=2022&rft.genre=book&rft.isbn=9783864905704&rft.pub=dpunkt.verlag" style="display:none"> </span></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><a href="#cite_ref-32">↑</a></span> <span class="reference-text"><span class="cite">René Rohner, Matthias Daigl: <a rel="nofollow" class="external text" href="https://www.assets.dpunkt.de/openbooks/OpenBook_Keyword-Driven-Testing-Frameworks.pdf"><i>Openbook zu Keyword-Driven Testing Frameworks.</i></a> (PDF) dpunkt.verlag,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Openbook+zu+Keyword-Driven+Testing+Frameworks&rft.description=Openbook+zu+Keyword-Driven+Testing+Frameworks&rft.identifier=https%3A%2F%2Fwww.assets.dpunkt.de%2Fopenbooks%2FOpenBook_Keyword-Driven-Testing-Frameworks.pdf&rft.creator=Ren%C3%A9+Rohner%2C+Matthias+Daigl&rft.publisher=dpunkt.verlag&rft.language=de"> </span></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><a href="#cite_ref-33">↑</a></span> <span class="reference-text"><span class="cite">Dmytro Borysov: <a rel="nofollow" class="external text" href="https://www.tesena.com/en/news/robot-framework-vs-pytest"><i>Robot Framework vs Pytest.</i></a> tesena s.r.o., 29. November 2022,<span class="Abrufdatum"> abgerufen am 14. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+vs+Pytest&rft.description=Robot+Framework+vs+Pytest&rft.identifier=https%3A%2F%2Fwww.tesena.com%2Fen%2Fnews%2Frobot-framework-vs-pytest&rft.creator=Dmytro+Borysov&rft.publisher=tesena+s.r.o.&rft.date=2022-11-29&rft.language=en"> </span></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><a href="#cite_ref-34">↑</a></span> <span class="reference-text"><span class="cite">Lisa Crispin: <a rel="nofollow" class="external text" href="https://lisacrispin.com/2010/03/29/team-commitment-to-quality/"><i>Team Commitment to Quality.</i></a> 29. März 2010,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (amerikanisches Englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Team+Commitment+to+Quality&rft.description=Team+Commitment+to+Quality&rft.identifier=https%3A%2F%2Flisacrispin.com%2F2010%2F03%2F29%2Fteam-commitment-to-quality%2F&rft.creator=Lisa+Crispin&rft.date=2010-03-29&rft.language=en-US"> </span></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><a href="#cite_ref-35">↑</a></span> <span class="reference-text"><span class="cite">heise online: <a rel="nofollow" class="external text" href="https://www.heise.de/hintergrund/Automatisierte-Tests-mit-dem-Robot-Framework-1834917.html"><i>Automatisierte Tests mit dem Robot-Framework.</i></a> 5. April 2013,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Automatisierte+Tests+mit+dem+Robot-Framework&rft.description=Automatisierte+Tests+mit+dem+Robot-Framework&rft.identifier=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAutomatisierte-Tests-mit-dem-Robot-Framework-1834917.html&rft.creator=heise+online&rft.date=2013-04-05&rft.language=de"> </span></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><a href="#cite_ref-36">↑</a></span> <span class="reference-text"><span class="cite">Christian Mueller: <a rel="nofollow" class="external text" href="https://blog.noser.com/einfache-testautomatisierung-mit-robot-framework/"><i>Einfache Testautomatisierung mit Robot Framework.</i></a> In: <i>Noser Blog.</i> 26. Juni 2018,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (deutsch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Einfache+Testautomatisierung+mit+Robot+Framework&rft.description=Einfache+Testautomatisierung+mit+Robot+Framework&rft.identifier=https%3A%2F%2Fblog.noser.com%2Feinfache-testautomatisierung-mit-robot-framework%2F&rft.creator=Christian+Mueller&rft.date=2018-06-26&rft.language=de-DE"> </span></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><a href="#cite_ref-37">↑</a></span> <span class="reference-text"><span class="cite">joecolantonio: <a rel="nofollow" class="external text" href="https://testguild.com/episode-91-the-robot-framework/"><i>Robot Framework Creator Pekka Klärck.</i></a> 25. Februar 2016,<span class="Abrufdatum"> abgerufen am 10. Dezember 2023</span> (amerikanisches Englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+Creator+Pekka+Kl%C3%A4rck&rft.description=Robot+Framework+Creator+Pekka+Kl%C3%A4rck&rft.identifier=https%3A%2F%2Ftestguild.com%2Fepisode-91-the-robot-framework%2F&rft.creator=joecolantonio&rft.date=2016-02-25&rft.language=en-US"> </span></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><a href="#cite_ref-38">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.kone.com/en/careers/professionals-and-technical-experts/blogs/robot-framework-at-kone.aspx"><i>Robot Framework At Kone.</i></a><span class="Abrufdatum"> Abgerufen am 10. Dezember 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ARobot+Framework&rft.title=Robot+Framework+At+Kone&rft.description=Robot+Framework+At+Kone&rft.identifier=https%3A%2F%2Fwww.kone.com%2Fen%2Fcareers%2Fprofessionals-and-technical-experts%2Fblogs%2Frobot-framework-at-kone.aspx&rft.language=en"> </span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-04-25" href="https://de.wikipedia.org/wiki/?title=Robot_Framework&oldid=255461039">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>